package cn.itsource.service;

import cn.itsource.pojo.domain.Login;
import cn.itsource.pojo.dto.LoginDto;
import cn.itsource.pojo.dto.AdminLoginDto;
import cn.itsource.pojo.dto.UpdatePasswordDto;
import cn.itsource.result.JSONResult;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * <p>
 * 登录表 服务类
 * </p>
 *
 * @author lifan
 * @since 2024-09-03
 */
public interface ILoginService extends IService<Login> {
    /**
     * 微信登录
     * @param loginDto
     * @return
     */
    JSONResult login(LoginDto loginDto);

    /**
     * 获取当前登录人的权限
     * @param loginId
     * @return
     */
    List<String> getPermissionByUserId(Long loginId);

    /**
     * 获取当前人的角色
     * @param loginId
     * @return
     */
    List<String> getRoleByUserId(Long loginId);

    /**
     * admin系统登录
     * @param loginDto
     * @return
     */
    JSONResult adminLogin(AdminLoginDto loginDto);

    /**
     * 修改密码
     * @param updatePasswordDto
     * @return
     */
    JSONResult updatePassword(UpdatePasswordDto updatePasswordDto);

    void loginOut();
}
